#include "EstruturaMepa.h"

/* @resume:construtor */
EstruturaMepa::EstruturaMepa() {
	this->address = 0;
	this->instruction = "";
	this->parameterA = "";
	this->parameterB = "";
	this->label = "";
}

/* @resume:destrutor */
EstruturaMepa::~EstruturaMepa() {
}

/*
 * @resume:construtor
 * @param: int,string
 */
EstruturaMepa::EstruturaMepa(int address, string instruction) {
	this->setAddress(address);
	this->setInstruction(instruction);
}

/*
 * @resume:construtor
 * @param: int,string,string
 */
EstruturaMepa::EstruturaMepa(int address, string instruction, string parameterA) {
	this->setAddress(address);
	this->setInstruction(instruction);
	this->setParameterA(parameterA);
}

/*
 * @resume:construtor
 * @param: int,string,string,string
 */
EstruturaMepa::EstruturaMepa(int address, string instruction,
		string parameterA, string parameterB) {
	this->setAddress(address);
	this->setInstruction(instruction);
	this->setParameterA(parameterA);
	this->setParameterB(parameterB);
}

/*
 * @resume:construtor
 * @param: int,string,string,string
 */
EstruturaMepa::EstruturaMepa(int address, string instruction,
		string parameterA, string parameterB, string label) {
	this->setAddress(address);
	this->setInstruction(instruction);
	this->setParameterA(parameterA);
	this->setParameterB(parameterB);
	this->setLabel(label);
}

/*
 * @resume:setar Endereco
 * @param: int
 */
void EstruturaMepa::setAddress(int address) {
	this->address = address;
}

/*
 * @resume:setar a intruao
 * @param: string
 */
void EstruturaMepa::setInstruction(string instruction) {
	this->instruction = instruction;
}

/*
 * @resume:setar o parametroA
 * @param: string
 */
void EstruturaMepa::setParameterA(string parameterA) {
	this->parameterA = parameterA;
}

/*
 * @resume:setar o parametroB
 * @param: string
 */
void EstruturaMepa::setParameterB(string parameterB) {
	this->parameterB = parameterB;
}

/*
 * @resume:setar o label
 * @param: string
 */
void EstruturaMepa::setLabel(string label) {
	this->label = label;
}

/*
 * @resume: obter o endereco
 * @return: int
 */
int EstruturaMepa::getAddress() const {
	return (this->address);
}

/*
 * @resume: obter a intrucao
 * @return: string
 */
string EstruturaMepa::getInstruction() const {
	return (this->instruction);
}

/*
 * @resume: obter a parametroA
 * @return: string
 */
string EstruturaMepa::getParameterA() const {
	return (this->parameterA);
}

/*
 * @resume: obter a parametroB
 * @return: string
 */
string EstruturaMepa::getParameterB() const {
	return (this->parameterB);
}

/*
 * @resume: obter a label
 * @return: string
 */
string EstruturaMepa::getLabel() const {
	return (this->label);
}
